草庐IT

JavaScript 事件处理程序参数

全部标签

ruby-on-rails - Rails 4 不允许的数组参数

我的模型中有一个数组字段,我正在尝试更新它。我的强参数方法如下defpost_paramsparams["post"]["categories"]=params["post"]["categories"].split(",")params.require(:post).permit(:name,:email,:categories)end我在Controller中的Action如下defupdatepost=Post.find(params[:id]ifpostandpost.update_attributes(post_params)redirect_toroot_urlelsere

ruby-on-rails - 在 Slim 中处理数据属性的最佳方式

我在个人项目中评估Slim作为HAML的替代品,它似乎不像HAML那样优雅地处理HTML5数据属性。我希望有人可能也遇到过这个问题,或者可能知道我尚未在他们的文档中找到的选项/语法。HAML允许您定义HTML5dataattributes只需像这样使用嵌套哈希:%a{data:{key1:'val',key2:'val'}}导致 最佳答案 Slim有多种方式作为哈希AttributeswhichwillbehyphenatedifaHashisgiven(e.g.data={a:1,b:2}willrenderasdata-a="1

ruby-on-rails - Rails 应用程序中 "Remember me"的实现

我的Rails应用程序有一个带有“记住我”复选框的登录框。选中该框的用户即使在关闭浏览器后也应保持登录状态。我通过将用户ID存储在用户session中来跟踪用户是否已登录。但是session在Rails中是作为sessioncookie实现的,它不是持久的。我可以让它们持久存在:classApplicationController但这似乎是一种hack,对于如此常见的功能来说令人惊讶。有没有更好的办法?编辑Gareth的回答非常好,但我仍然希望熟悉Rails2的人回答(因为它是独一无二的CookieSessionStore)。 最佳答案

ruby-on-rails - Google App Engine 上的 Ruby on Rails 应用程序

谁能给我一些关于如何将我的Rails应用程序部署到GAE的建议?我一直在阅读它,但这似乎是一项相当复杂的任务。我尝试使用google-appenginegem,但它也不是小菜一碟。DataMapper适配器是否有任何进展,或者我是否需要更改我的模型?我希望看到有关它的完整详细教程,但我发现那些有些过时了。 最佳答案 在Google的AppEngine上部署Rails比以前容易得多。您应该注意一些注意事项:AppEngine仅支持Python和Java环境,因此对于Rails,您将在JRuby上部署AppEngine的数据存储基于Bi

ruby - 如何通过反射获取事件记录关联

对于普通列,您可以通过columns类方法获取它们。但是,如果在关系方法中设置了foreign_key选项,关联的名称可能会完全不同。例如,给定classPosthas_many:comments,:foreign_key=>:message_id#thisisacontrivedexampleend如果我做了Post.column_names,我可以得到message_id,但是有什么方法可以得到comments吗? 最佳答案 Model.reflections提供有关模型关联的信息。它是一个以关联名称为关键字的Hash。例如Po

ruby - 使用哈希参数的 DRY Ruby 初始化

我发现自己在构造函数中使用了相当多的哈希参数,尤其是在为配置或最终用户将接触到的其他API位编写DSL时。我最终做的是类似下面的事情:classExamplePROPERTIES=[:name,:age]PROPERTIES.each{|p|attr_readerp}definitialize(args)PROPERTIES.eachdo|p|self.instance_variable_set"@#{p}",args[p]ifnotargs[p].nil?endendend是否没有更惯用的方法来实现这一点?一次性常量和符号到字符串的转换似乎特别令人震惊。

ruby - 创建一个接受参数散列的 ruby​​ 方法

我不知道如何创建接受参数散列的ruby​​方法。我的意思是,在Rails中我想使用这样的方法:login_success:msg=>"Success!",:gotourl=>user_url接受这种参数的方法原型(prototype)是什么?我如何阅读它们? 最佳答案 如果您以散列语法将参数传递给Ruby函数,Ruby会假定这是您的目标。这个:deflogin_success(hsh={})putshsh[:msg]end 关于ruby-创建一个接受参数散列的ruby​​方法,我们在St

ruby-on-rails - 如何将 CSS 与 ruby​​ on rails 应用程序一起使用?

如何将CSS与RoR结合使用?当我从外部链接时,我永远看不到这些文件。我将.css文件复制到我能想到的每个文件夹...View、Controller、模板,但似乎没有任何效果。我需要做什么才能使用Rails应用程序启用外部CSS文件?我是Rails的新手,如果这是基础知识,请原谅我。 最佳答案 将CSS文件放在public/stylesheets中,然后使用:链接到布局中的样式表或View中的erb文件。类似地,您将图像放在public/images中,将javascript文件放在public/javascripts中。

ruby-on-rails - 如何将多个参数作为数组传递给 ruby​​ 方法?

我在Rails帮助程序文件中有一个这样的方法deftable_for(collection,*args)options=args.extract_options!...end我希望能够像这样调用这个方法args=[:name,:description,:start_date,:end_date]table_for(@things,args)这样我就可以根据表单提交动态传递参数。我无法重写该方法,因为我在太多地方使用它,我还能怎么做? 最佳答案 Ruby可以很好地处理多个参数。Hereis一个很好的例子。deftable_for(co

ruby - 通过 Nginx 的 EventSource/Server-Sent 事件

在服务器端使用带有streamblock的Sinatra。get'/stream',:provides=>'text/event-stream'dostream:keep_opendo|out|connections在客户端:vares=newEventSource('/stream');es.onmessage=function(e){$('#chat').append(e.data+"\n")};当我通过http://localhost:9292/直接使用应用程序时,一切正常。连接是持久的,所有消息都传递给所有客户端。但是,当它通过Nginx时,http://chat.dev,连接